package net.zjvis.lab.nebula.backend.lib.algorithm.conf.algorithm;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;

@JsonTypeInfo(property = "type", use = JsonTypeInfo.Id.NAME)
@JsonSubTypes({
        @JsonSubTypes.Type(value = Scaling.class, name = "Scaling"),
        @JsonSubTypes.Type(value = KMeans.class, name = "KMeans"),
        @JsonSubTypes.Type(value = DBSCAN.class, name = "DBscan"),
        @JsonSubTypes.Type(value = PCA.class, name = "Pca"),
        @JsonSubTypes.Type(value = TSNE.class, name = "Tsne"),
        @JsonSubTypes.Type(value = LLE.class, name = "LLE"),
        @JsonSubTypes.Type(value = IsoForest.class, name = "IsoForest"),
        @JsonSubTypes.Type(value = FpGrowth.class, name = "FPGrowth"),
        @JsonSubTypes.Type(value = PrefixSpan.class, name = "PrefixSpan"),
        @JsonSubTypes.Type(value = ARIMA.class, name = "ARIMA"),
        @JsonSubTypes.Type(value = HoltWinters.class, name = "Holt_Winters"),
        @JsonSubTypes.Type(value = Shift.class, name = "Shift"),
        @JsonSubTypes.Type(value = ADF.class, name = "ADF"),
})
public interface Algorithm {
    //注意检查@JsonSubTypes.Type(name="")的值 需要与算法algorithm工程对应
}
